from flask import Flask
from flask_sqlalchemy import SQLAlchemy

from config import config_map

#创建sqlalchemy实例
db = SQLAlchemy()
def create_app(config_name):
    #创建flask实例
    app = Flask(__name__)
    #根据config_name获取配置类
    Config = config_map.get(config_name)
    #根据类来加载配置信息
    app.config.from_object(Config)
    #初始化db
    db.init_app(app)
    #获取user蓝图对象
    from .user import user_bp
    #注册蓝图
    app.register_blueprint(user_bp)

    #获取menu蓝图对象
    from .menu import menu_bp
    #注册蓝图
    app.register_blueprint(menu_bp)

    #获取roles蓝图
    from .role import role_bp
    #注册蓝图
    app.register_blueprint(role_bp)

    #获取category蓝图
    from .category import cate_bp
    app.register_blueprint(cate_bp)

    #获取attribute蓝图
    from .category import attr_bp
    app.register_blueprint(attr_bp)

    #获取product蓝图
    from .product import product_bp
    app.register_blueprint(product_bp)

    #获取order蓝图
    from .order import order_bp
    app.register_blueprint(order_bp)

    #返回flask实例
    return app


